#pragma once
#include <string>
#include "CoordSys.h"
#include "TimeSys.h"

/* 对流层延迟改正类 */
class TroposphereCorrection {
public:
    /* 构造函数 */
    TroposphereCorrection();
    
    /* 析构函数 */
    ~TroposphereCorrection();

    /* 计算对流层延迟(Saastamoinen模型) - XYZ坐标版本 */
    double calculateTroposphereDelaySaastamoinen(const BaseT& time, const XYZ& receiverPos, const XYZ& satellitePos);
    
    /* 计算对流层延迟(Saastamoinen模型) - BLH坐标版本 */
    double calculateTroposphereDelaySaastamoinen(const BaseT& time, const BLH& receiverPos, const XYZ& satellitePos); 
    
    /* 测试函数 */
    void test();

private:
    /* Saastamoinen模型参数 */
    double pressure;     /* 气压(hPa) */
    double temperature;  /* 温度(K) */
    double humidity;     /* 湿度(0-1) */
};